Method for implementing indirect controller

ABSTRACT

A system and method for implementing an indirect controller for a plant. A plant can be provided with both a direct controller and an indirect controller with a system model or a committee of system models. When the system model has sufficient integrity to satisfy the plant requirements, i.e., when the system model has been sufficiently trained, the indirect controller with the system model is automatically enabled to replace the direct controller. When the performance falls, the direct controller can automatically assume operation of the plant, preferably maintaining operation in a control region suitable for generating additional training data for the system model. Alternatively, the system model incorporates a committee of models. Various types of sources for errors in the committee of models can be detected and used to implement strategies to improve the quality of the committee.

FIELD OF THE INVENTION

The invention relates generally to the control of industrial processesand specifically to methods for implementing indirect controllers forindustrial processes.

BACKGROUND OF THE INVENTION

The control of an industrial process in a plant involves maintaining theprocess conditions at setpoints that are suitable to attain the desiredprocess objectives. The control of industrial processes involves aseries of steps, generally including: determining the desired processobjectives; determining initial values for the process conditionsetpoints for the controllable process states; measuring the existingprocess conditions and adjusting control variables in accordance withthe desired process condition setpoints; measuring the results in termsof the plant outputs and updating the process condition setpoints and/orthe control variables to attain the desired process objectives.

The control variables are regulated by a controller that providessettings for the control variables as plant inputs to operate the plant.In a large plant, there may be a large number of inputs, with complexinteractions between the inputs contributing to the output of the plant.The plant is generally non-stationary. One or more process conditionsmay vary constantly; the process typically will not reach a steadystate. For example, a fossil-fuel furnace has properties that changeover time; soot may accumulate in the furnace and require periodiccleaning. In order to maintain the desired process condition setpointsand satisfy the process objectives continuously, given the variation inprocess conditions, it is generally necessary to make adjustmentsrepeatedly to the process condition setpoints and the correspondingcontrol variables. Experimenting with different process conditions anddifferent control variables to achieve the desired output typicallyrequires high overhead, particularly in terms of time. In this dynamicenvironment, experimenting with different values may not even bepossible. Direct measurement of the process conditions and the outcomeof the process is often difficult to do effectively.

Using models of the process is one approach to addressing some of thesecontrol issues. An indirect controller uses a computer model of theprocess as a predictor of different values in the system. The modelmimics the operation of the system. The model's ability to predictvalues in the system is useful for determining the result of variousadjustments to the process inputs, including the control variables inthe system, and conversely, determining the control variable settingsnecessary to achieve desired process outputs or process conditions.Accordingly, such models are useful for adjusting the inputs to theplant under the prevailing plant operating conditions. Neural networksare one such type of computer model that is useful to predict, controland optimize a process.

Indirect control schemes are typically implemented in two phases,wherein the system model is constructed first, followed by theconstruction of the controller and its corresponding control algorithms.The resulting controller provides the control laws for the plant.Subsequently, during execution, the controller investigates the systemmodel to obtain optimal settings and then implements them using controlalgorithms. The system model can be retrained. Indirect controllers mayuse any number of model architectures and adaptation methods. Given amodel architecture, adaptation is used to develop the system model. Asystem model is typically trained by presenting it with training datavalues of the actual historical operation of the plant. One step thatrequires a significant investment of resources is the generation of thedata used to train the system model. A system model is useful only if itpredicts the operation of the plant with a high degree of accuracy.Ensuring the integrity of the system model is critical to optimizing theoperation of the plant. To develop an accurate model, it is important toprovide comprehensive test data.

One factor in the usefulness of a control system for a plant is itsability to adapt to the constantly (viewed over the long term)fluctuating relationship between the control variables, and processconditions setpoints and the outputs that characterize the plant. Inindirect controllers, the system model itself may be adaptive in that itmay be able to relearn and adjust the relationships between the plantvariables. Two general classes of modeling methods that can be used inindirect controllers are adaptive in this sense: parametric adaptive andstrictly non-parametric (with an adaptive architecture and adaptiveparameters). In parametric adaptive modeling methods, the architectureis predetermined and the parameters are adaptive. Examples of parametricadaptive modeling methods include regressions and neural networks.Strictly non-parametric methods have no predefined architecture or setsof parameters or parameter values. One form of strictly non-parametricmethods is commonly known as evolutionary (or genetic) programming.Evolutionary programming involves the use of genetic algorithms to adaptboth the model architecture and its parameters. Evolutionary programminguses random, but successful, combinations of any set of mathematical orlogical operations to describe the control laws of a process or toconstruct a system model.

An adaptive controller generally requires a mechanism by which thecontroller identifies the need to adapt. A known method to determinewhen to perform model adaptation is to initiate adaptation atpredetermined scheduled times or at regular intervals. One disadvantageof this method is that it performs model adaptation in a predeterminedmanner, with no regard for when the model error is acceptable orunacceptable, which is inefficient, resulting in downtime for the plantor unnecessary use of computational resources.

One known method to operate the plant when the system model is notconsidered usable and even for initial training of the system model isto provide control by human operators. One disadvantage of this methodis that human control is inadequate to truly optimize process control asa function of the large number of controllable variables thatcharacterize complex plant operations and is subject to constraints suchas variability from human to human, variability from day to day, andvariability within the duration of an operator's shift.

There is a need for an improved method for providing for adaptation ofan indirect controller. There is also a need for an improved method formodeling a system in an indirect controller. There is also a need forproviding for coordination between a direct controller and an indirectcontroller.

SUMMARY OF THE INVENTION

Some embodiments of the present invention include a system for operatinga plant that includes a direct controller and an indirect controller andprovide a method for automatically selecting the preferred of the twoand switching between them. The indirect controller incorporates asystem model for control, which may have a variety of architectures,including a neural network or other nonlinear model architecture, suchas those generated by the adaptive methods of genetic programming. Whenthe system model in the indirect controller is not consideredsufficiently accurate, control of the plant is regulated by the directcontroller. Control may shift to the indirect controller when the systemmodel has sufficient integrity. The transfer of control may beautomatic.

In some embodiments of the invention, a plant can be provided with botha direct controller and an indirect controller with an untrained modelsuch as a neural network or even an unspecified architecture, such asresults from an untrained genetic programming modeling methodology.Initially, the plant is subject to direct control. The plant inputs aremanipulated using the direct controller while the untrained system modelobserves the behavior of the plant. In one aspect of the invention, whenthe model has sufficient integrity to satisfy the plant requirements,i.e., when the model has been sufficiently trained, the indirectcontroller with the model is automatically enabled to replace the directcontroller.

Another aspect of the invention is that the direct controller can beautomatically enabled to replace the indirect controller, particularlyif the integrity of the model is low, for example, when the model erroris above a threshold. Another aspect of the invention is that fuzzylogic can be used to implement the decision process of switching betweendirect and indirect controllers. The system model in the indirectcontroller can be retrained, using data generated under the control ofthe direct controller, and then the indirect controller can again beautomatically enabled to replace the direct controller.

In certain embodiments, an indirect controller incorporates a committeeof models in place of a single system model. Aspects of the inventioninclude methods for decision-making by the committee and methods forevaluating the integrity of the committee, and switching to directcontrol when the committee displays low performance. In certainembodiments, confidence intervals are used for evaluating the integrityof the committee of models.

Certain embodiments include the ability to identify the differencebetween certain statistical and random sources of error in the model inthe indirect controller prior to switching to the direct controller.This information can be used to select optimal techniques for retrainingor otherwise adapting the implementation of a model or committee ofmodels.

These and other features and advantages of the present invention willbecome readily apparent from the following detailed description, whereinembodiments of the invention are shown and described by way ofillustration of the best mode of the invention. As will be realized, theinvention is capable of other and different embodiments and its severaldetails may be capable of modifications in various respects, all withoutdeparting from the invention. Accordingly, the drawings and descriptionare to be regarded as illustrative in nature and not in a restrictive orlimiting sense, with the scope of the application being indicated in theclaims.

BRIEF DESCRIPTION OF THE DRAWINGS

For a fuller understanding of the nature and objects of the presentinvention, reference should be made to the following detaileddescription taken in connection with the accompanying drawings, wherein:

FIG. 1 is a diagram of a plant connected to a direct controller and anindirect controller; and

FIG. 2 is a flowchart of steps for implementing indirect control with asystem model in accordance with an embodiment of the invention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

Embodiments of the present invention are directed to a method forimplementing a system of indirect and direct controllers, in which plantcontrol is automatically executed by the preferred of the twocontrollers.

Referring to FIG. 1, in accordance with an embodiment of the invention,a system 100 for carrying out an industrial process includes a plant110. Plant 110 is operated using plant inputs 112 and produces plantoutputs 114. System 100 also includes an indirect or model-basedcontroller 120 that incorporates a computer system model 122 of theoperation of the plant. Indirect controller 120 receives data about theoperation of plant 100 at inputs 124 and provides control settings atoutputs 128 for operating plant 110 in accordance with the plant processobjectives. The control settings correspond to control variables inplant 110 and provide plant inputs 112 to plant 110. Initially, indirectcontroller 120 incorporates an untrained model 122 of the operation ofplant 110. The inputs to model 122 include the current plant operatingconditions and plant inputs 112; the outputs of model 122 includepredicted plant performance values. For training, model 122 alsoobserves the plant outputs 114. The system also includes a directcontroller 130. Direct controller 130 provides as its outputs 134control settings for the plant inputs 112. The direct controller 130 mayalso receive data about plant outputs 114 and plant operating conditionsas inputs 132. Control of plant 110 is alternately regulated by directcontroller 130 and indirect controller 120. Although it is preferredthat plant 110 be operated under automated control provided by directcontroller 130 and indirect controller 120 whenever possible, it iscontemplated that from time to time, plant 110 will be subject to humancontrol.

Data about the operation of plant 110 stored in an historical databasecould be used to train model 122. Alternatively, the data about actualplant operation used for training model 122 may be provided to model 122in real time. Rather than using data values from an historical database,model 122 can observe the actual operation of plant 110, subject to thecontrol of direct controller 130.

An initial step in implementing indirect controller 120 in accordancewith an embodiment of the invention is to install direct controller 130in the subject plant 110. This step will typically involve integratingdirect controller 130 with the existing control system in plant 110. Asecond step is installing indirect controller 120 with untrained model122. Subsequently, model 122 is trained by generating training data inplant 110 using direct controller 130. In training, model 122 receivesdata about the plant operating conditions, the plant inputs 112 and theactual plant outputs 114 for the given conditions and inputs. Data aboutthe plant operating conditions may be obtained from a number of sources,including a performance monitoring system (not shown) that measuresvarious values in the boiler and communicates data to indirectcontroller 120 and direct controller 130. When model 122 has beensufficiently trained, indirect controller 120 can be automaticallyenabled to replace direct controller 130 and operate plant 110.

FIG. 2 illustrates the process for implementing indirect controller 120in accordance with an embodiment of the invention. Direct controller 130is useful both for routine operation of plant 110 and for explicitlygenerating training data for model 122 incorporated in indirectcontroller 120. After direct controller 130 is selected to operate plant110 in step 202, in step 204, direct controller 130 can be operated togenerate different sets of plant inputs 112, which constitute trainingdata for model 122, using different paradigms. Generally, it ispreferable that the data collection for model adaptation be as thoroughas possible, with inputs 112 being tested through a range of values andcombinations of values. Implementing indirect controller 120 in anoperating plant typically involves an interruption in the operation ofthe plant and a diversion of plant resources, particularly to developtraining data for model 122. The interruption is significantly reducedby automation of the data collection process, e.g., control by directcontroller 130, as compared with human control of the data collectionprocess. Although historical data about the routine operation of plant110 can be used as training data for the model 122, data from routineoperation of plant 110 may not be sufficient to train a particularlyaccurate and robust model. Historical data from routine operation ofplant 110 may not explore the multidimensional, highly complex spacedefined by the numerous inputs 112 to plant 110 thoroughly enough totrain model 122 within a desired degree of accuracy. One way to addressthe training data requirements is to manipulate plant inputs 112 in thedesired space using direct controller 130.

To generate training data, a design of experiments, or automatedparametric search, is performed in closed-loop on plant 110. One methodfor generating data is an exhaustive approach. Each plant input 112 canbe varied independently, while the others are held constant to obtaindata about its effects on the performance of the plant. For each vectorof inputs 112 to plant 110, each trial requires waiting for trial inputs112 to propagate through plant 110 and then observing the outputs ofplant 110, before running a new trial. Running an exhaustive search,namely sampling a statistical number of data points at each uniquevector of input variable values is, however, impractical. A number oftechniques may be used to reduce the problem complexity, to providesolutions that are more practical to implement. These solutions includereduction of the number of input variables and reduction of the numberof data samples taken at any point along the input variable continuum ofvalues.

One technique for reducing the number of input variables involvesidentification and removal of correlated input variables. Although manyof inputs 112 may be interrelated in very complex ways, many of inputs112 may also be highly correlated. For example, two inputs may trackeach other closely; they may change in conjunction with each other ormay never change. Of the two correlated variables, one usually tracks,or follows the motion of, due to a causal relationship, another. Onlyone of the correlated variables need be used as an input to the model,as the other input will show an identical relationship with the modeledvariable. A controller often decouples the two inputs and has separatecontrol signals for both of them, treating them as independent inputs.If the two inputs were known to be correlated a priori, that informationcould be built into the controller, for example by eliminating one ofthe inputs and could save significant testing time. An alternativemethod for enhancing the search through the control variable values isto avoid moving the correlated variables independently, namely, if oneis moved, the other is also moved by an amount commensurate with itscorrelation.

In some embodiments, one technique for reducing the number of datapoints sampled at each point along each of the chosen input variablesinvolves focusing the data collection to specific areas of the inputvector space using exploratory optimization. A thorough mapping of thespace defined by inputs 112 is especially significant around optimalinput values. By focusing data collection to these areas, the number ofdifferent input values that need to be sampled for each input variablecan be greatly reduced and the number of data points collected at manyof the remaining input values can be reduced. One method for trainingneural networks and other models is applying historical data as traininginputs, measuring the error in the predicted outputs for sets oftraining inputs, and backpropagating based on the error. Thiserror-driven learning process is more successful when the error for anyparticular trial is small, allowing the weights in the neural network,for example, to be finely tuned as a result of the trial. Exploratoryoptimization, which is more suited to online data collection than tohistorical data collection, involves starting with plant 110 running ata particular point, varying each input 112 within a neighborhood aroundthat point and measuring its response. Historical data may be suitablewhen the detail and levels of sampling at each of the input vectorvalues are sufficient for exploratory optimization. The best response ischosen for that variable, and the process is repeated for each variableand is then iteratively repeated. Plant 110 is slowly moved through themultidimensional space, i.e., the operating space of possible inputswith each variable being set for best response at each iteration, thuscontinually moving the plant operation toward improved performance. Thisapproach focuses on mapping a space around the optimal performance.Small perturbations in the inputs allow a determination of whether thedirection of change leads to an improvement in the performance. If thedirection of change shows a tendency to improve the output, then theinputs can continue to be varied in that direction. Otherwise, analternative direction can be tried. Generally, inputs 112 are varied bysmall amounts until the ideal or acceptable performance under thosevariables is reached. This approach can be effective and practicalbecause although only a subspace of the entire space is mapped, savingtime, the critical points are covered, providing valuable data fortraining model 122. Regular searches in the vicinity of the optimuminput space are desirable and help to identify the evolution of optimumsettings. This technique can be implemented as a zero or first ordersearch method and may lead to rapid convergence to local extrema. Firstorder search methods can be used in combination with zero order, secondorder, or first principle search methods to locate the global extremaout of the set of local extrema. Examples of such complementary searchmethods are jumps of random distance and direction from such extremafollowed by application of first order search techniques.

Using a suitable paradigm for developing test inputs 112, directcontroller 130 runs plant 110 through a series of trials, while model122 observes inputs 112 and outputs 114, and trains on the data in step206. Outputs 134 of direct controller 130 may be provided directly toindirect controller 120 as inputs 126. Model 122 is designed, at leastin part, to predict plant outputs 114 based on plant inputs 112 and theplant operating conditions. Initially, model 122 is not trained and itspredictions will be virtually meaningless. As model 122 adjusts itsweights, its ability to predict plant outputs 114 will improve. Model122 can be tested from time to time to determine whether it has attaineda desired degree of accuracy. In step 208, the error between the modelprediction and actual plant outputs 114 is measured. There are a numberof errors that may be measured in step 208. One type of error is theoverall model error, which represents the summation of modeloutput/plant output error over all input vectors. The overall error isan indication of the overall model's general applicability, quality ofplant representation, and integrity. It is generally desirable that theoverall error be low. The overall error is of primary concern during theinitial training of the model. A second type of error is the local modelerror, which is a subset of the overall model error, and represents thesummation of model output/plant output error over all input vectors inthe local input vector space surrounding the current control pointsetting. The local error is of little concern during the initialtraining of the model because of the initially high statistical errorpresent in any small region of the model. The local model error is ofprimary concern during later training stages, after the overall error iswithin some acceptable threshold. In step 208, using the currentoperating conditions and the current inputs 112 selected by directcontroller 130, the model's predictions regarding plant outputs 114 canbe compared with the actual plant output 114. If the error in thepredictions is below a threshold of acceptable error, then model 122 canbe deemed to have been sufficiently trained. As long as model 122 failsto satisfy the threshold performance requirement, additional data can begenerated and training can continue to be provided. In embodiments ofthe invention, model error can be used in conjunction with otherdecision metrics, such as the current state of the indirect controller,and compatibility with predefined safety or other operating constraintsof the plant, in order to determine whether indirect controller 120should be used.

The number of decision variables, the complexity of the data, and thenaturally noisy and often uncertain nature of physical plant data canmake the decision making task too complex for a complete quantitativerepresentation. Although a specific error threshold may be provided toevaluate the integrity of the model, fuzzy logic is a form of decisiontechnology that is also suited to measuring the integrity by balancingthe tradeoffs of considering multiple forms of error and/or otherfactors.

In step 210, when model 122 has sufficient integrity to satisfy theplant requirements, i.e., when model 122 has been sufficiently trained,indirect controller 120 with model 122 is automatically enabled toreplace direct controller 130. Subsequently, in step 212, indirectcontroller 120 operates plant 110. In general, starting at the currentoperating point, indirect controller 120 determines the sequence ofplant inputs 112 required to reach the desired plant output within adesired number of steps. Indirect controller 120 uses system model 122to identify a plant operating point that corresponds to plantperformance objectives, given the current plant operating conditions,and then identify the plant control settings for inputs 112 at thatplant operating point. Using the current plant control settings and thedesired plant control settings, indirect controller 120 determines anappropriate sequence of control moves, within the constraints of plant110 and desired number of steps. Indirect controller 120 transmits acontrol move to adjust the control settings for plant inputs 112 tomodify the state of plant 110. After each step, the then current outputs114 are used as data and a new control sequence is initiated. That plantinput 112 and output 114 data is continuously stored, in part for use inadapting the system model or building new system models.

Another aspect of the present invention is maintaining the effectivenessof indirect controller 120. During the period under indirect control,maintenance of the model integrity is desirable. In operation, althoughmodel 122 is checked for integrity prior to implementing the indirectcontroller, the performance of model 122 may be poor, for example, dueto local errors, affecting certain operating regions, or due tolong-term changes in the operation of the plant occurring since thetraining of model 122. Once indirect control has been implemented, thedevice remains under indirect control unless evaluation by the errorcompare step 208 falls below a threshold, that is, when the performancefalls below a desired level of accuracy. Step 214 indicates that thesystem incorporates retraining rules that determine when to evaluate orretrain model 122. The periodic retraining of the model 122 (e.g., every24 hours) may be desirable, depending upon available system resources asspecified by the retraining rules in step 214. A new model or retrainingof the existing model may occur offline, namely in such a way thatpreexisting model 122 is used and maintained within indirect controller120, during the build model step 206. As indicated in step 208, theperformance of model 122 can also be re-evaluated from time to time. Ifthe error of model 122, measured as a correlation or a standard errorfor example, is greater than is acceptable indirect controller 120 canbe automatically disabled and direct controller 130 can be activated toreplace it, in steps 206 and 208. Model 122 can then be retrained untilit attains a sufficient level of accuracy.

When the indirect control has been turned off as a result ofunacceptable model error, it is desirable for system model 122 to beretrained by processing data from the control region where the error ishigh. If the automated control system is turned off completely and ahuman is controlling the plant input parameters, then it may bedifficult to ensure that the plant conditions will remain in the regionwhere data needs to be collected. Therefore, it is difficult to ensurethat model 122 will have an opportunity to adapt to the control regionwhere the error was originally high. As a result, when plant 110 isbrought to the same operating region, model 122 may not be able tocontrol the plant operations to within the acceptable error limits.Accordingly, some embodiments of the invention implement a controlstrategy in which, when model 122 needs retraining, direct controller130 assumes control and continues to amass data regarding the high errorregion of control by operating plant 110 in that region and feeding thatdata back to model 122 of indirect controller 120 so that it may beincorporated into model 122, with the objective of bringing the modelerror to within limits that are acceptable for indirect control.

Rather than a single neural network or other model as system model 122,the model-based controller 120 can actually incorporate several neuralnetworks or other models that have all been trained on the plantoperation data to function as system model 122 for indirect controller120. These models form a committee of models. The models may all havethe same architecture or may have different architectures. For example,all of the models in the committee may be neural network models, or themodels may be a mix of neural network models and genetically programmedmodels. In general, variations between the models are a reflection ofthe statistical variance in the modeling process. For statisticalsignificance, a committee of models may contain, for example, tenmodels. Indirect controller 120 uses data about predicted plantperformance from the committee to determine its control action. Incertain embodiments, a subset of the committee, preferably the modelshaving the highest integrity, is selected for operational use in theperiod up to the next selection event. In certain embodiments, thesubset is chosen to be all those models whose error is below a thresholdvalue. In one embodiment, the error threshold itself is a dynamic valuethat automatically decreases to enable higher fidelity results underconditions where the preexisting threshold does not differentiate thetop models from the bottom models. In certain embodiments, each systemmodel that constitutes a member of the committee of models is evaluatedfor accuracy on a regular and specifiable basis. The evaluation phaseranks each of the models against each other, so that the best model isgiven the highest rank and the worst model is ranked last. In certainembodiments, the top ranked subset of the committee is used for systemcontrol up until the next ranking occurs, at which point the newoperative subset of the committee can be substituted. In variousembodiments, the ranking considers the overall model error or a similarstatistical measure of model-data correlation, such as the model'scorrelation coefficient.

In a contemplated embodiment, each member of the committee selected foroperational use is evaluated for each control move that is made duringthe control period until the next selection event. In particular, thefollowing steps may be executed prior to a control move. Each of thesystem models that together constitute the operative committee isevaluated to determine the plant operating point corresponding to theplant performance objective and the corresponding control variablesettings. The resulting vectors of possible control settings are used tocheck the integrity of the committee of models. In one embodiment, aconfidence interval is determined around the distribution of plantoperating points and corresponding control variable settings from eachof the models. A high confidence interval indicates that a largefraction of the measured population is within the specified data range.The ratio between the full data range for the objective variable and thedata range of the confidence interval is evaluated and referred to asthe confidence ratio. In one contemplated embodiment, a confidence ratiois used to evaluate the statistical confidence in the set of resultspresented by the operative committee of models. A pre-specifiedthreshold value for the confidence ratio is used for comparison againstthe calculated confidence ratio. If the calculated confidence ratiosatisfies the threshold, then the operative committee has sufficientintegrity at that operating point to be used for control of the plant.In one contemplated embodiment, the optimized control settings from eachsystem model in the operative committee are averaged together to derivea single vector of optimized control settings. Indirect controller 120then implements this single vector of optimized settings in thesubsequent control moves.

If the calculated confidence ratio is less than the pre-specifiedthreshold, a sequence of steps is initiated in certain embodiments.First, plant control is redirected to direct controller 130. In onecontemplated embodiment, direct controller 130 is notified of theconfidence ratio, confidence interval, and model error for each memberof the committee. Direct controller 130 identifies a range ofcontrollable input data over which the confidence interval is low, asspecified by the received information. In the preferred embodiment,direct controller 130 uses the range of controllable data over which theconfidence interval was low as a constraint for operation. Inparticular, in one contemplated embodiment, direct controller 130maintains control of plant 110 within or proximate to the bounds of thatdata range. If control of plant 110 in said data range violates apriority constraint, such as safety or high NOx, opacity, or CO, thenoperation may be shifted to another range of control. In one embodiment,operation is maintained within said data range so as to both optimizeplant objectives as well as to collect operational data to be used fortraining of the system models used by indirect controller 120.

In the committee embodiment, once the plant 110 is running underindirect control, the models can be periodically retrained, e.g., every24 hours. In doing this retraining, new models are obtained andconstantly compared to the committee of models. When a new model isfound to be better than one or more of the committee members, the worstcommittee member can be replaced with the new model. Also, modelcorrelation, standard error and committee confidence (e.g., using randomsamples) can be recalculated periodically, for example daily, based onmeasured data about the actual performance of the plant, as comparedwith the performance predicted by the committee and individual models inthe committee. The use of confidence intervals is one approach used tocheck the integrity of the committee of models in embodiments of theinvention.

In the preferred embodiment, after transferring control of the plant tothe direct controller, the indirect controller uses the new operationaldata collected by the direct controller to retrain the system models.After training, the model error, confidence interval, and confidenceratios are reevaluated and compared to the prior values. If the newconfidence ratio is greater than the confidence threshold, then controlis shifted from the direct controller back to the indirect controller.If the new confidence ratio is equal to or less than the threshold, thencontrol is maintained by direct controller 130 and new control data ismeasured and incorporated into model 122, and the process repeated.

Model errors may have a number of causes, which may be classified asresulting from either random or systematic events. One type of randomerror may result when there is a lack of adequate adaptation of themodel due to insufficient data sampling. In embodiments of theinvention, this particular error may be rectified by sampling more dataand iterating the adaptation methods of the models. An example of errorthat results from systematic events is that which can occur when firstorder search algorithms, mentioned above, are used to train the systemmodel and where a local minimization of the cost function has occurred,rather than a global minimization. In embodiments of the invention, thistype of error may be rectified by creating a new model or byreinitializing the weights of an existing model. In certain embodimentsusing a committee of models, it is possible to evaluate the source oferror as statistical or systematic and, furthermore, to select theappropriate form of correction. In embodiments of the invention,correction may involve collection of more data or removal of sources ofsystematic error, such as locally minimized models. In certaincontemplated embodiments, a decision tree implements various strategiesfor improving the performance of the models using performance measuresto determine initially the quality of the models. The correlation of themodels in the committee, and the confidence interval and distribution ofthe committee are determined. If the correlation of each model is verybad, then the errors are statistical: retraining can be used to improvethe quality of the models. If the confidence ratio is very bad, then theerrors are systematic: then one solution may be to eliminate one or moremodels from the committee or the operative committee. Another solutionmay be to switch to direct control. Identifying the correct form oferror correction is desirable.

In certain embodiments, the present invention can be implemented insoftware and operated on a computer including a processor, computermemory, storage, and input and output devices. The software can monitorthe accuracy of the model 122 or a committee of models and initiate thetransfer of plant operation to or from the indirect controller 120 whenappropriate. The software can also operate the direct controller 130 toselect control values for the plant 110.

The invention is generally applicable to any type of plant. Otherparadigms for generating training data may be used. While the presentinvention has been illustrated and described with reference to preferredembodiments thereof, it will be apparent to those skilled in the artthat modifications can be made and the invention can be practiced inother environments without departing from the spirit and scope of theinvention, set forth in the accompanying claims.

1. A computer-implemented method for implementing an indirect controllerwith a system model in a plant operable for performing a process, theplant having a plurality of inputs, the inputs being manipulable by acontroller to operate the plant, a particular combination of inputsreceived by the plant defining an operating region, comprising: usingthe indirect controller to operate the plant; detecting that theperformance of the system model is low; using a direct controllerinstead of the indirect controller to operate the plant by maintainingoperation around a particular operating region corresponding todetecting that the performance of the system model is low; adapting thesystem model; detecting that the performance of the system model isacceptable; and selecting the indirect controller to operate the plant.2. The method of claim 1, wherein fuzzy logic is used for detecting thatthe performance of the system model is low or detecting that theperformance of the system model is acceptable.
 3. The method of claim 1,wherein a threshold is used for detecting that the performance of thesystem model is low or detecting that the performance of the systemmodel is acceptable.
 4. The method of claim 1, wherein an overall erroris used for detecting that the performance of the system model is low ordetecting that the performance of the system model is acceptable.
 5. Themethod of claim 1, wherein a local error is used for detecting that theperformance of the system model is low or detecting that the performanceof the system model is acceptable.
 6. The method of claim 1, whereinmaintaining operation around a particular operating region iscoordinated with operating constraints, including satisfying a plantperformance objective.
 7. The method of claim 1, wherein the systemmodel is implemented as a neural network.
 8. The method of claim 1,wherein the system model is implemented using genetic programming.
 9. Acomputer program product, residing on a computer readable medium, foruse in implementing an indirect controller with a system model in aplant operable for performing a process, the plant having a plurality ofinputs, the inputs being manipulable by a controller to operate theplant, a particular combination of inputs received by the plant definingan operating region, the computer program product comprisinginstructions for causing a computer to: select the indirect controllerto operate the plant; detect that the performance of the system model islow; select a direct controller instead of the indirect controller tooperate the plant by maintaining operation around a particular operatingregion corresponding to detecting that the performance of the systemmodel is low; adapt the system model; detect that the performance of thesystem model is acceptable; and select the indirect controller tooperate the plant.
 10. The computer program product of claim 9, whereinthe instructions cause the computer to detect that the performance ofthe system model is low using fuzzy logic.
 11. The computer programproduct of claim 9, wherein the instructions cause the computer todetect that the performance of the system model is low using a thresholdof acceptable performance.
 12. The computer program product of claim 9,wherein the instructions cause the computer to detect that theperformance of the system model is low using an overall error.
 13. Thecomputer program product of claim 9, wherein the instructions cause thecomputer to detect that the performance of the system model is low usinga local error.
 14. The computer program product of claim 9, wherein theinstructions cause the computer to instruct the controller to maintainoperation around a particular operating region coordinated withoperating constraints, including satisfying a plant performanceobjective.
 15. A system for implementing indirect control in a plantoperable for performing a process, the plant having a plurality ofinputs subject to control to operate the plant, a particular combinationof inputs received by the plant defining an operating region,comprising: means for modeling the operation of the plant; means forproviding indirect control of the plant; means for providing directcontrol of the plant, including means for maintaining operation around aparticular operating region; means for evaluating the performance of themeans for modeling the operation of the plant; means for selectingindirect control or direct control to operate the plant based on theevaluated performance of the means for modeling the operation of theplant; and means for adapting the means for modeling the operation ofthe plant.